/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package argtrust.argsys;

import argtrust.logic.InferenceNode;

/**
 *
 * @author Yuqing Tang
 */
public class Defeat {

    private Argument mDefeater;
    private Argument mDefeatee;
    private DefeatPoint mDefeatPoint;

    public Defeat() {
    }

    public Defeat(Argument defeater, Argument defeatee) {
        assign(defeater, defeatee);
    }

    public Defeat(Argument defeater,
            Argument defeatee,
            InferenceNode defeater_inf,
            InferenceNode defeatee_inf) {
        this(defeater, defeatee);
        mDefeatPoint = new DefeatPoint(defeater_inf, defeatee_inf);
    }

    public void assign(Argument defeater, Argument defeatee) {
        mDefeater = defeater;
        mDefeatee = defeatee;
    }

    public void assign(Argument defeater,
            Argument defeatee,
            InferenceNode defeater_inf,
            InferenceNode defeatee_inf) {
        assign(defeater, defeatee);
        mDefeatPoint = new DefeatPoint(defeater_inf, defeatee_inf);
    }

    public DefeatPoint getDefeatPoint() {
        return mDefeatPoint;
    }

    public void setDefeatPoint(DefeatPoint defeat_point) {
        mDefeatPoint = defeat_point;
    }

    public Argument getDefeater() {
        return mDefeater;
    }

    public Argument getDefeatee() {
        return mDefeatee;
    }

    public void setDefeater(Argument defeater) {
        mDefeater = defeater;
    }

    public void setDefeatee(Argument defeatee) {
        mDefeatee = defeatee;
    }
    

    public String getDefeatType()
    {
        return "Not Defined";
    }
}
